package pe.edu.upc.matrix.servlet;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import pe.edu.upc.matrix.excepcion.EExcepcionDAO;
import pe.edu.upc.matrix.modelo.MCategoria;
import pe.edu.upc.matrix.negocio.NCategoria;
import pe.edu.upc.matrix.negocio.NPublicacion;

/**
 * Servlet implementation class SGestionarCategoria
 */
@WebServlet("/SGestionarCategoria")
public class SGestionarCategoria extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public SGestionarCategoria() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		String noCategoria = (String)request.getParameter("noCategoria");
		int idCategoriaPadre = Integer.parseInt((String)request.getParameter("idCategoriaPadre"));
		String deCategoria = (String)request.getParameter("deCategoria");
		
		NCategoria nCategoria = new NCategoria();
		
		try {
			boolean existeCategoria = false;
			MCategoria mCategoria = new MCategoria();
			mCategoria.setNoCategoria(noCategoria);
			mCategoria.setIdCategoriaPadre(idCategoriaPadre);
			mCategoria.setDeCategoria(deCategoria);
			existeCategoria = nCategoria.existeCategoria(noCategoria);
			if(!existeCategoria){
				mCategoria = nCategoria.registrarCategoria(noCategoria, deCategoria, idCategoriaPadre);
			}else{
				request.setAttribute("existeCategoria", "Existe una categoria con el mismo nombre.");
			}
			request.setAttribute("categoria", mCategoria);
		} catch (EExcepcionDAO e) {
			request.setAttribute("mensajeError", "No se pudo registrar la categoria.");
		}

		RequestDispatcher rd = request.getRequestDispatcher("micuenta.jsp?opcion=agregarcategoria");
		rd.forward(request, response);
	}

}
